Bug 131920 – gtkNotebook sends incorrect switch_page value
authorBjörn Lindqvist <bjourne@gmail.com>
Sun, 8 Jun 2008 21:41:16 +0000 (21:41 +0000)
committerBjörn Lindqvist <bjornl@src.gnome.org>
Sun, 8 Jun 2008 21:41:16 +0000 (21:41 +0000)
2008-06-08  Björn Lindqvist  <bjourne@gmail.com>

Bug 131920 – gtkNotebook sends incorrect switch_page value

* gtk/gtknotebook.c (gtk_notebook_real_remove): Make switch-page
signal send correct page index when page index 0 is active and
removed. (#131920, Samuel Fogh)

svn path=/trunk/; revision=20339

ChangeLog
gtk/gtknotebook.c

index 1d1bee32488a398199258afbbd3003d50be3c3c5..32c59ce807665cfa677e0846bc8da0f86ecb6239 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-06-08  Björn Lindqvist  <bjourne@gmail.com>
+
+       Bug 131920 – gtkNotebook sends incorrect switch_page value
+
+       * gtk/gtknotebook.c (gtk_notebook_real_remove): Make switch-page
+       signal send correct page index when page index 0 is active and
+       removed. (#131920, Samuel Fogh)
+
 2008-06-08  Kristian Rietveld  <kris@gtk.org>
 
        Bug 536730 - memory corruption in gtktreeview
index 3bce620c83e5204da7339a72aff25d81758e46f8..9a1c26eb92af348a52d24d6d0deab85a4a6aa4af 100644 (file)
@@ -4323,9 +4323,11 @@ gtk_notebook_real_remove (GtkNotebook *notebook,
   priv = GTK_NOTEBOOK_GET_PRIVATE (notebook);
   destroying = GTK_OBJECT_FLAGS (notebook) & GTK_IN_DESTRUCTION;
   
-  next_list = gtk_notebook_search_page (notebook, list, STEP_PREV, TRUE);
+  next_list = gtk_notebook_search_page (notebook, list, STEP_NEXT, TRUE);
   if (!next_list)
-    next_list = gtk_notebook_search_page (notebook, list, STEP_NEXT, TRUE);
+    next_list = gtk_notebook_search_page (notebook, list, STEP_PREV, TRUE);
+
+  notebook->children = g_list_remove_link (notebook->children, list);
 
   if (notebook->cur_page == list->data)
     { 
@@ -4370,7 +4372,6 @@ gtk_notebook_real_remove (GtkNotebook *notebook,
   if (!page->default_menu)
     g_object_unref (page->menu_label);
   
-  notebook->children = g_list_remove_link (notebook->children, list);
   g_list_free (list);
 
   if (page->last_focus_child)